#ifndef GL_VERTEX_DECLARATION
#define GL_VERTEX_DECLARATION
#include <vector>
#include "Interfaces/IVertexDeclaration.h"
#include "GlVertexAttribute.h"
using namespace std;
namespace gname
{
	class GlVertexDeclaration:public VertexDeclaration
	{
	public:
		

	public:
		~GlVertexDeclaration();
		 void AddAttribute(VertexAttributes va, int typeSiz,void *p,int numComp = 3, int t = 0x1406 );
		 int  GetArribsSize() const { return attributes.size();}
		// void ApplyAttributes() const;
		 GlVertexAttribute* GetVertexAttribs(unsigned index) {  return attributes[index];}

	private:
		vector<GlVertexAttribute*> attributes;
		//int attribsSize;
	};
}
#endif